Many-valued logic